// List of regions with their respective zones
export const hybridRegions: { [key: string]: string[] } = {
  'africa-south1': ['africa-south1-a', 'africa-south1-b', 'africa-south1-c'],
  'asia-east1': ['asia-east1-a', 'asia-east1-b', 'asia-east1-c'],
  'asia-east2': ['asia-east2-a', 'asia-east2-b', 'asia-east2-c'],
  'asia-northeast1': ['asia-northeast1-a', 'asia-northeast1-b', 'asia-northeast1-c'],
  'asia-northeast2': ['asia-northeast2-a', 'asia-northeast2-b', 'asia-northeast2-c'],
  'asia-northeast3': ['asia-northeast3-a', 'asia-northeast3-b', 'asia-northeast3-c'],
  'asia-south1': ['asia-south1-a', 'asia-south1-b', 'asia-south1-c'],
  'asia-south2': ['asia-south2-a', 'asia-south2-b', 'asia-south2-c'],
  'asia-southeast1': ['asia-southeast1-a', 'asia-southeast1-b', 'asia-southeast1-c'],
  'asia-southeast2': ['asia-southeast2-a', 'asia-southeast2-b', 'asia-southeast2-c'],
  'australia-southeast1': ['australia-southeast1-a', 'australia-southeast1-b', 'australia-southeast1-c'],
  'australia-southeast2': ['australia-southeast2-a', 'australia-southeast2-b', 'australia-southeast2-c'],
  'europe-central2': ['europe-central2-a', 'europe-central2-b', 'europe-central2-c'],
  'europe-north1': ['europe-north1-a', 'europe-north1-b', 'europe-north1-c'],
  'europe-north2': ['europe-north2-a', 'europe-north2-b', 'europe-north2-c'],
  'europe-southwest1': ['europe-southwest1-a', 'europe-southwest1-b', 'europe-southwest1-c'],
  'europe-west1': ['europe-west1-b', 'europe-west1-c', 'europe-west1-d'],
  'europe-west2': ['europe-west2-a', 'europe-west2-b', 'europe-west2-c'],
  'europe-west3': ['europe-west3-a', 'europe-west3-b', 'europe-west3-c'],
  'europe-west4': ['europe-west4-a', 'europe-west4-b', 'europe-west4-c'],
  'europe-west6': ['europe-west6-a', 'europe-west6-b', 'europe-west6-c'],
  'europe-west8': ['europe-west8-a', 'europe-west8-b', 'europe-west8-c'],
  'europe-west9': ['europe-west9-a', 'europe-west9-b', 'europe-west9-c'],
  'europe-west10': ['europe-west10-a', 'europe-west10-b', 'europe-west10-c'],
  'europe-west12': ['europe-west12-a', 'europe-west12-b', 'europe-west12-c'],
  'me-central1': ['me-central1-a', 'me-central1-b', 'me-central1-c'],
  'me-central2': ['me-central2-a', 'me-central2-b', 'me-central2-c'],
  'me-west1': ['me-west1-a', 'me-west1-b', 'me-west1-c'],
  'northamerica-northeast1': ['northamerica-northeast1-a', 'northamerica-northeast1-b', 'northamerica-northeast1-c'],
  'northamerica-northeast2': ['northamerica-northeast2-a', 'northamerica-northeast2-b', 'northamerica-northeast2-c'],
  'northamerica-south1': ['northamerica-south1-a', 'northamerica-south1-b', 'northamerica-south1-c'],
  'southamerica-east1': ['southamerica-east1-a', 'southamerica-east1-b', 'southamerica-east1-c'],
  'southamerica-west1': ['southamerica-west1-a', 'southamerica-west1-b', 'southamerica-west1-c'],
  'us-central1': ['us-central1-a', 'us-central1-b', 'us-central1-c', 'us-central1-f'],
  'us-east1': ['us-east1-b', 'us-east1-c', 'us-east1-d'],
  'us-east4': ['us-east4-a', 'us-east4-b', 'us-east4-c'],
  'us-east5': ['us-east5-a', 'us-east5-b', 'us-east5-c'],
  'us-south1': ['us-south1-a', 'us-south1-b', 'us-south1-c'],
  'us-west1': ['us-west1-a', 'us-west1-b', 'us-west1-c'],
  'us-west2': ['us-west2-a', 'us-west2-b', 'us-west2-c'],
  'us-west3': ['us-west3-a', 'us-west3-b', 'us-west3-c'],
  'us-west4': ['us-west4-a', 'us-west4-b', 'us-west4-c']
}

export const persistentDiskTypes: string[] = [
  'hyperdisk-balanced',
  'hyperdisk-ml',
  'hyperdisk-throughput',
  'pd-standard',
  'local-ssd',
  'pd-balanced',
  'hyperdisk-extreme',
  'pd-extreme',
  'pd-ssd'
]

export const machineTypes: string[] = [
  'e2-micro',
  'e2-small',
  'e2-medium',
  'e2-standard-2',
  'e2-standard-4',
  'e2-standard-8',
  'e2-standard-16',
  'e2-highmem-2',
  'e2-highmem-4',
  'e2-highmem-8',
  'e2-highmem-16',
  'e2-highcpu-2',
  'e2-highcpu-4',
  'e2-highcpu-8',
  'e2-highcpu-16',
  'n4-standard-2',
  'n4-standard-4',
  'n4-standard-8',
  'n4-standard-16',
  'n4-standard-32',
  'n4-standard-48',
  'n4-standard-64',
  'n4-standard-80',
  'n4-highcpu-2',
  'n4-highcpu-4',
  'n4-highcpu-8',
  'n4-highcpu-16',
  'n4-highcpu-32',
  'n4-highcpu-48',
  'n4-highcpu-64',
  'n4-highcpu-80',
  'n4-highmem-2',
  'n4-highmem-4',
  'n4-highmem-8',
  'n4-highmem-16',
  'n4-highmem-32',
  'n4-highmem-48',
  'n4-highmem-64',
  'n4-highmem-80',
  'n2-standard-2',
  'n2-standard-4',
  'n2-standard-8',
  'n2-standard-16',
  'n2-standard-32',
  'n2-standard-48',
  'n2-standard-64',
  'n2-standard-80',
  'n2-highmem-2',
  'n2-highmem-4',
  'n2-highmem-8',
  'n2-highmem-16',
  'n2-highmem-32',
  'n2-highmem-48',
  'n2-highmem-64',
  'n2-highmem-80',
  'n2-highcpu-2',
  'n2-highcpu-4',
  'n2-highcpu-8',
  'n2-highcpu-16',
  'n2-highcpu-32',
  'n2-highcpu-48',
  'n2-highcpu-64',
  'n2-highcpu-80',
  'n2d-standard-2',
  'n2d-standard-4',
  'n2d-standard-8',
  'n2d-standard-16',
  'n2d-standard-32',
  'n2d-standard-48',
  'n2d-standard-64',
  'n2d-standard-80',
  'n2d-standard-96',
  'n2d-highmem-2',
  'n2d-highmem-4',
  'n2d-highmem-8',
  'n2d-highmem-16',
  'n2d-highmem-32',
  'n2d-highmem-48',
  'n2d-highmem-64',
  'n2d-highmem-80',
  'n2d-highmem-96',
  'n2d-highcpu-2',
  'n2d-highcpu-4',
  'n2d-highcpu-8',
  'n2d-highcpu-16',
  'n2d-highcpu-32',
  'n2d-highcpu-48',
  'n2d-highcpu-64',
  'n2d-highcpu-80',
  'n2d-highcpu-96',
  'n1-standard-1',
  'n1-standard-2',
  'n1-standard-4',
  'n1-standard-8',
  'n1-standard-16',
  'n1-standard-32',
  'n1-standard-64',
  'n1-standard-96',
  'n1-highmem-2',
  'n1-highmem-4',
  'n1-highmem-8',
  'n1-highmem-16',
  'n1-highmem-32',
  'n1-highmem-64',
  'n1-highmem-96',
  'n1-highcpu-2',
  'n1-highcpu-4',
  'n1-highcpu-8',
  'n1-highcpu-16',
  'n1-highcpu-32',
  'n1-highcpu-64',
  'n1-highcpu-96',
  'c4a-standard-4',
  'c4a-standard-8',
  'c4a-standard-16',
  'c4a-standard-32',
  'c4a-standard-48',
  'c4a-standard-64',
  'c4a-standard-96',
  'c4-standard-4',
  'c4-standard-8',
  'c4-standard-16',
  'c4-standard-32',
  'c4-standard-48',
  'c4-standard-64',
  'c4-standard-96',
  'c3-standard-4',
  'c3-standard-8',
  'c3-standard-22',
  'c3-standard-44',
  'c3-standard-88',
  'c3-highmem-4',
  'c3-highmem-8',
  'c3-highmem-22',
  'c3-highmem-44',
  'c3-highmem-88',
  'c3d-standard-4',
  'c3d-standard-8',
  'c3d-standard-22',
  'c3d-standard-44',
  'c3d-standard-88',
  'c3d-highmem-4',
  'c3d-highmem-8',
  'c3d-highmem-22',
  'c3d-highmem-44',
  'c3d-highmem-88',
  't2a-standard-1',
  't2a-standard-2',
  't2a-standard-4',
  't2a-standard-8',
  't2a-standard-16',
  't2a-standard-32',
  't2a-standard-48',
  't2a-standard-60',
  't2d-standard-2',
  't2d-standard-4',
  't2d-standard-8',
  't2d-standard-16',
  't2d-standard-32',
  't2d-standard-48',
  't2d-standard-60',
  't2d-standard-72',
  't2d-standard-80',
  't2d-standard-96'
]

export const machineTypeInfo: any = {
  'e2-micro': { memory: '1', cpu: '2' },
  'e2-small': { memory: '2', cpu: '2' },
  'e2-medium': { memory: '4', cpu: '2' },
  'e2-standard-2': { memory: '8', cpu: '2' },
  'e2-standard-4': { memory: '16', cpu: '4' },
  'e2-standard-8': { memory: '32', cpu: '8' },
  'e2-standard-16': { memory: '64', cpu: '16' },
  'e2-highmem-2': { memory: '16', cpu: '2' },
  'e2-highmem-4': { memory: '32', cpu: '4' },
  'e2-highmem-8': { memory: '64', cpu: '8' },
  'e2-highmem-16': { memory: '128', cpu: '16' },
  'e2-highcpu-2': { memory: '2', cpu: '2' },
  'e2-highcpu-4': { memory: '4', cpu: '4' },
  'e2-highcpu-8': { memory: '8', cpu: '8' },
  'e2-highcpu-16': { memory: '16', cpu: '16' },
  'n4-standard-2': { memory: '8', cpu: '2' },
  'n4-standard-4': { memory: '16', cpu: '4' },
  'n4-standard-8': { memory: '32', cpu: '8' },
  'n4-standard-16': { memory: '64', cpu: '16' },
  'n4-standard-32': { memory: '128', cpu: '32' },
  'n4-standard-48': { memory: '192', cpu: '48' },
  'n4-standard-64': { memory: '256', cpu: '64' },
  'n4-standard-80': { memory: '320', cpu: '80' },
  'n4-highcpu-2': { memory: '4', cpu: '2' },
  'n4-highcpu-4': { memory: '8', cpu: '4' },
  'n4-highcpu-8': { memory: '16', cpu: '8' },
  'n4-highcpu-16': { memory: '32', cpu: '16' },
  'n4-highcpu-32': { memory: '64', cpu: '32' },
  'n4-highcpu-48': { memory: '96', cpu: '48' },
  'n4-highcpu-64': { memory: '128', cpu: '64' },
  'n4-highcpu-80': { memory: '160', cpu: '80' },
  'n4-highmem-2': { memory: '16', cpu: '2' },
  'n4-highmem-4': { memory: '32', cpu: '4' },
  'n4-highmem-8': { memory: '64', cpu: '8' },
  'n4-highmem-16': { memory: '128', cpu: '16' },
  'n4-highmem-32': { memory: '256', cpu: '32' },
  'n4-highmem-48': { memory: '384', cpu: '48' },
  'n4-highmem-64': { memory: '512', cpu: '64' },
  'n4-highmem-80': { memory: '640', cpu: '80' },
  'n2-standard-2': { memory: '8', cpu: '2' },
  'n2-standard-4': { memory: '16', cpu: '4' },
  'n2-standard-8': { memory: '32', cpu: '8' },
  'n2-standard-16': { memory: '64', cpu: '16' },
  'n2-standard-32': { memory: '128', cpu: '32' },
  'n2-standard-48': { memory: '192', cpu: '48' },
  'n2-standard-64': { memory: '256', cpu: '64' },
  'n2-standard-80': { memory: '320', cpu: '80' },
  'n2-highmem-2': { memory: '16', cpu: '2' },
  'n2-highmem-4': { memory: '32', cpu: '4' },
  'n2-highmem-8': { memory: '64', cpu: '8' },
  'n2-highmem-16': { memory: '128', cpu: '16' },
  'n2-highmem-32': { memory: '256', cpu: '32' },
  'n2-highmem-48': { memory: '384', cpu: '48' },
  'n2-highmem-64': { memory: '512', cpu: '64' },
  'n2-highmem-80': { memory: '640', cpu: '80' },
  'n2-highcpu-2': { memory: '2', cpu: '2' },
  'n2-highcpu-4': { memory: '4', cpu: '4' },
  'n2-highcpu-8': { memory: '8', cpu: '8' },
  'n2-highcpu-16': { memory: '16', cpu: '16' },
  'n2-highcpu-32': { memory: '32', cpu: '32' },
  'n2-highcpu-48': { memory: '48', cpu: '48' },
  'n2-highcpu-64': { memory: '64', cpu: '64' },
  'n2-highcpu-80': { memory: '80', cpu: '80' },
  'n2d-standard-2': { memory: '8', cpu: '2' },
  'n2d-standard-4': { memory: '16', cpu: '4' },
  'n2d-standard-8': { memory: '32', cpu: '8' },
  'n2d-standard-16': { memory: '64', cpu: '16' },
  'n2d-standard-32': { memory: '128', cpu: '32' },
  'n2d-standard-48': { memory: '192', cpu: '48' },
  'n2d-standard-64': { memory: '256', cpu: '64' },
  'n2d-standard-80': { memory: '320', cpu: '80' },
  'n2d-standard-96': { memory: '384', cpu: '96' },
  'n2d-highmem-2': { memory: '16', cpu: '2' },
  'n2d-highmem-4': { memory: '32', cpu: '4' },
  'n2d-highmem-8': { memory: '64', cpu: '8' },
  'n2d-highmem-16': { memory: '128', cpu: '16' },
  'n2d-highmem-32': { memory: '256', cpu: '32' },
  'n2d-highmem-48': { memory: '384', cpu: '48' },
  'n2d-highmem-64': { memory: '512', cpu: '64' },
  'n2d-highmem-80': { memory: '640', cpu: '80' },
  'n2d-highmem-96': { memory: '768', cpu: '96' },
  'n2d-highcpu-2': { memory: '2', cpu: '2' },
  'n2d-highcpu-4': { memory: '4', cpu: '4' },
  'n2d-highcpu-8': { memory: '8', cpu: '8' },
  'n2d-highcpu-16': { memory: '16', cpu: '16' },
  'n2d-highcpu-32': { memory: '32', cpu: '32' },
  'n2d-highcpu-48': { memory: '48', cpu: '48' },
  'n2d-highcpu-64': { memory: '64', cpu: '64' },
  'n2d-highcpu-80': { memory: '80', cpu: '80' },
  'n2d-highcpu-96': { memory: '96', cpu: '96' },
  'n1-standard-1': { memory: '3.75', cpu: '1' },
  'n1-standard-2': { memory: '7.5', cpu: '2' },
  'n1-standard-4': { memory: '15', cpu: '4' },
  'n1-standard-8': { memory: '30', cpu: '8' },
  'n1-standard-16': { memory: '60', cpu: '16' },
  'n1-standard-32': { memory: '120', cpu: '32' },
  'n1-standard-64': { memory: '240', cpu: '64' },
  'n1-standard-96': { memory: '360', cpu: '96' },
  'n1-highmem-2': { memory: '13', cpu: '2' },
  'n1-highmem-4': { memory: '26', cpu: '4' },
  'n1-highmem-8': { memory: '52', cpu: '8' },
  'n1-highmem-16': { memory: '104', cpu: '16' },
  'n1-highmem-32': { memory: '208', cpu: '32' },
  'n1-highmem-64': { memory: '416', cpu: '64' },
  'n1-highmem-96': { memory: '624', cpu: '96' },
  'n1-highcpu-2': { memory: '1.8', cpu: '2' },
  'n1-highcpu-4': { memory: '3.6', cpu: '4' },
  'n1-highcpu-8': { memory: '7.2', cpu: '8' },
  'n1-highcpu-16': { memory: '14.4', cpu: '16' },
  'n1-highcpu-32': { memory: '28.8', cpu: '32' },
  'n1-highcpu-64': { memory: '57.6', cpu: '64' },
  'n1-highcpu-96': { memory: '86.4', cpu: '96' },
  'c4a-standard-4': { memory: '16', cpu: '4' },
  'c4a-standard-8': { memory: '32', cpu: '8' },
  'c4a-standard-16': { memory: '64', cpu: '16' },
  'c4a-standard-32': { memory: '128', cpu: '32' },
  'c4a-standard-48': { memory: '192', cpu: '48' },
  'c4a-standard-64': { memory: '256', cpu: '64' },
  'c4a-standard-96': { memory: '384', cpu: '96' },
  'c4-standard-4': { memory: '16', cpu: '4' },
  'c4-standard-8': { memory: '32', cpu: '8' },
  'c4-standard-16': { memory: '64', cpu: '16' },
  'c4-standard-32': { memory: '128', cpu: '32' },
  'c4-standard-48': { memory: '192', cpu: '48' },
  'c4-standard-64': { memory: '256', cpu: '64' },
  'c4-standard-96': { memory: '384', cpu: '96' },
  'c3-standard-4': { memory: '16', cpu: '4' },
  'c3-standard-8': { memory: '32', cpu: '8' },
  'c3-standard-22': { memory: '88', cpu: '22' },
  'c3-standard-44': { memory: '176', cpu: '44' },
  'c3-standard-88': { memory: '352', cpu: '88' },
  'c3-highmem-4': { memory: '32', cpu: '4' },
  'c3-highmem-8': { memory: '64', cpu: '8' },
  'c3-highmem-22': { memory: '176', cpu: '22' },
  'c3-highmem-44': { memory: '352', cpu: '44' },
  'c3-highmem-88': { memory: '704', cpu: '88' },
  'c3d-standard-4': { memory: '16', cpu: '4' },
  'c3d-standard-8': { memory: '32', cpu: '8' },
  'c3d-standard-22': { memory: '88', cpu: '22' },
  'c3d-standard-44': { memory: '176', cpu: '44' },
  'c3d-standard-88': { memory: '352', cpu: '88' },
  'c3d-highmem-4': { memory: '32', cpu: '4' },
  'c3d-highmem-8': { memory: '64', cpu: '8' },
  'c3d-highmem-22': { memory: '176', cpu: '22' },
  'c3d-highmem-44': { memory: '352', cpu: '44' },
  'c3d-highmem-88': { memory: '704', cpu: '88' },
  't2a-standard-1': { memory: '4', cpu: '1' },
  't2a-standard-2': { memory: '8', cpu: '2' },
  't2a-standard-4': { memory: '16', cpu: '4' },
  't2a-standard-8': { memory: '32', cpu: '8' },
  't2a-standard-16': { memory: '64', cpu: '16' },
  't2a-standard-32': { memory: '128', cpu: '32' },
  't2a-standard-48': { memory: '192', cpu: '48' },
  't2a-standard-60': { memory: '240', cpu: '60' },
  't2d-standard-2': { memory: '8', cpu: '2' },
  't2d-standard-4': { memory: '16', cpu: '4' },
  't2d-standard-8': { memory: '32', cpu: '8' },
  't2d-standard-16': { memory: '64', cpu: '16' },
  't2d-standard-32': { memory: '128', cpu: '32' },
  't2d-standard-48': { memory: '192', cpu: '48' },
  't2d-standard-60': { memory: '240', cpu: '60' },
  't2d-standard-72': { memory: '288', cpu: '72' },
  't2d-standard-80': { memory: '320', cpu: '80' },
  't2d-standard-96': { memory: '384', cpu: '96' }
}

export const getZoneByRegion = (region: string) => {
  const zones: string[] = region && hybridRegions[region] ? hybridRegions[region] : []
  return zones
}
